#练习 20 函数和文件
#在每一行上方添加注释解释它的作用。
from sys import argv#导入库

script, input_file = argv #接收文件


def print_all(f):#定义一个函数
    print(f.read())#方法用于从文件读取指定的字节数，如果未给定或为负则读取所有。

def rewind(f):#定义一个函数
      f.seek(0)#方法用于移动文件读取指针到指定位置。

def print_a_line(line_count, f):#定义一个函数
    print(line_count, f.readline())

current_file = open(input_file)#打开input_file

print("First let's print the whole file:\n")#打印出信息

print_all(current_file)#调用函数 print_all，传参current_file

print("Now let's rewind, kind of like a tape.")#打印出信息

rewind(current_file)#调用函数 rewind，传参current_file

print("Let's print three lines:")#打印出信息

current_line = 1 #赋
print_a_line(current_line, current_file)#调用函数 rewind，传参

current_line = current_line + 1
print_a_line(current_line, current_file)#调用函数 rewind，传参

current_line = current_line + 1
print_a_line(current_line, current_file)#调用函数 rewind，传参
